package com.example.designpatterns.behavioral.observer;

/**
 * 主题接口
 *
 * @author scott
 */
public interface Subject {

    /**
     * 观察者注册
     *
     * @param observer 观察者
     */
    void registerObserver(Observer observer);

    /**
     * 观察者注销
     *
     * @param observer 观察者
     */
    void unregisterObserver(Observer observer);

    /**
     * 通知所有订阅的观察者
     */
    void notifyObservers();

}
